-
Notifications
You must be signed in to change notification settings - Fork 359
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
meta: add initial GOVERNANCE.md
#5040
base: main
Are you sure you want to change the base?
Conversation
You forgot to add it to the website and renaming the old temporary governance. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like a solid start, and I'm glad to see other community members chiming in. Should we push this review more in the Discord starting next week, when people are likely to be back from vacationing?
GOVERNANCE.md
Outdated
performance, code quality, and "style" (fitting in with the project). | ||
- Participating in design discussions, especially with regards to architecture | ||
or long-term vision. | ||
- When necessary, participate in a collective voting process to resolve |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I worry that this one doesn't quite fit with the others. Voting on conflicts and decisionmaking is a privilege and a duty of a maintainer, not just a thing that someone typically does before being considered for maintainership, right? It might make more sense to call out the duty of the maintainer in a separate list than the "typical behavior of the maintainer" list here.
GOVERNANCE.md
Outdated
- Forking the project and maintaining your own version | ||
|
||
While these are all generally quite valuable, they don't directly contribute to | ||
the existing community of users where they are at, and on their own do not |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Finding this part pretty hard to understand: "contribute to the existing community of users where they are at"
Maybe can you say in comments in way more words what you meant, and we can try to find a concise way to say it more clearly than this together?
GOVERNANCE.md
Outdated
vote. | ||
|
||
A Maintainer can be removed by other Maintainers, subject to a vote of at-least | ||
a 2/3rds majority from the existing Maintainer group (including the vote of the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the reason to include the vote of the person nominated for removal? Usually projects explicitly exclude that person's vote (like in Sociocracy) - I'm curious about the rationale for including it, which seems unusual.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IIRC it was somewhat arbitrary. I might have said something vaguely in favor of allowing the person in question to have a say. If it's atypical, then we can adjust it.
I think we also considered what kind of voting thresholds made sense to accommodate the 2/3rds majority. For 5 people, considering whether to include the voted-on Maintainer in their own vote means either —
- if including their vote, then 4/5 of the Maintainers are needed to kick them (which is a unanimous vote from everyone else)
- if not including their vote, then 3/4 of the remaining Maintainers are needed to kick them (which is 3/5 of all Maintainers, allowing up to one dissenter to be overridden)
Actually, writing that down, I think we had been in favor of letting 3/5 of all Maintainers kick one of the other Maintainers. So this provision as written isn't actually consistent with that scenario, and we should probably change it.
GOVERNANCE.md
Outdated
|
||
In the event that a decision is reached before the proposed timeline, said | ||
proposal can move on and be accepted immediately. In the event no consensus is | ||
reached, a proposal may be re-submitted later on. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we also want to make provision for a proposal that was rejected (not just non-consensus) but where new information comes up later on that makes it worth reevaluating?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To me, it seems like we don't need to legislate that specifically. Maybe we can move the "In the event no consensus is reached [...]" provision into parentheses to make it clear that there's not a specific process for resubmitting proposals, and you can just resubmit proposals in a reasonable way?
d8a09f7
to
e71ca29
Compare
New update looks good to me, for starters. Only thing I might add is - what's the process for modifying governance.md? Do changes need to go to a maintainer vote through the regular process? Since this is a good start but fairly bare-bones, I think it's worth outlining how we intend to update it later if/when we need to. |
GOVERNANCE.md
Outdated
|
||
In the event that a decision is reached before the proposed timeline, said | ||
proposal can move on and be accepted immediately. In the event no consensus is | ||
reached, a proposal may be re-submitted later on. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To me, it seems like we don't need to legislate that specifically. Maybe we can move the "In the event no consensus is reached [...]" provision into parentheses to make it clear that there's not a specific process for resubmitting proposals, and you can just resubmit proposals in a reasonable way?
GOVERNANCE.md
Outdated
vote. | ||
|
||
A Maintainer can be removed by other Maintainers, subject to a vote of at-least | ||
a 2/3rds majority from the existing Maintainer group (including the vote of the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IIRC it was somewhat arbitrary. I might have said something vaguely in favor of allowing the person in question to have a say. If it's atypical, then we can adjust it.
I think we also considered what kind of voting thresholds made sense to accommodate the 2/3rds majority. For 5 people, considering whether to include the voted-on Maintainer in their own vote means either —
- if including their vote, then 4/5 of the Maintainers are needed to kick them (which is a unanimous vote from everyone else)
- if not including their vote, then 3/4 of the remaining Maintainers are needed to kick them (which is 3/5 of all Maintainers, allowing up to one dissenter to be overridden)
Actually, writing that down, I think we had been in favor of letting 3/5 of all Maintainers kick one of the other Maintainers. So this provision as written isn't actually consistent with that scenario, and we should probably change it.
GOVERNANCE.md
Outdated
|
||
### Maintainers | ||
|
||
At the top of the hierarchy are the **Maintainers**. We consider maintainers to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggestion: I don't think we need to explicitly call out anything "hierarchical", as it seems like somewhat anti-collaborative wording (and, indeed, we added the Contributor role to recognize the valuable contributions of non-Maintainers).
suggestion: I think we should move the actual authority and responsibility up to the top here as the primary definition of a Maintainer, namely that they can conduct votes to resolve conflicts. @nasamuffin already noted below that it didn't belong in the list of Maintainer behaviors.
suggestion: Let's capitalize Maintainer everywhere (assuming that's appropriate?). Likewise for Contributor.
GOVERNANCE.md
Outdated
TODO: Pending on the initial process of open nominations, decided by Yuya and | ||
Martin, more names will be added. | ||
|
||
### Contributors |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it makes sense to write at the top that Contributors are active participants, and that Maintainers are expected to take their feedback into consideration as necessary, but have no formal rights or responsibilities. That should set expectations for how to read the rest of the section.
Just shuffling stuff in the cellar. Signed-off-by: Austin Seipp <[email protected]>
e71ca29
to
e9a2443
Compare
This is the result of a lot of back and forth, the weekly efforts of the governance working group, consisting of: - Martin von Zweigbergk (martinvonz) - Waleed Khan (arxanas) - Emily Shaffer (nasamuffin) - Austin Seipp (thoughtpolice; yours truly) Many thanks as well to emeritus member Khionu Sybiern, who helped kickstart this whole process. Signed-off-by: Austin Seipp <[email protected]>
e9a2443
to
52fbe51
Compare
@@ -131,7 +131,7 @@ nav: | |||
- 'Code of conduct': 'code-of-conduct.md' | |||
- 'Design Docs': 'design_docs.md' | |||
- 'Design Doc Blueprint': 'design_doc_blueprint.md' | |||
- 'Temporary Voting for Governance': 'governance/old-temporary-voting.md' | |||
- 'Governance': 'governance/GOVERNANCE.md' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: Preserve the old link, as its still somewhat useful.
I think basically we expected to use the Decision-Making process for modifying governance.md. |
After lots of discussion, we've finally achieved a draft of the governance document!
This is a draft, as it is fundamentally incomplete; that will require the election of the initial set of 5 Jujutsu Maintainers, after an open self-nomination period! Stay tuned for more on that.
This is the result of a lot of back and forth, the weekly efforts of the governance working group, currently consisting of:
Many thanks as well to emeritus member Khionu Sybiern, who helped kickstart this whole process.